//
//  main.m
//  06-homework NSDate
//
//  Created by mafeng on 16/7/11.
//  Copyright © 2016年 mafeng. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
//    计算当前时间和一个固定时间的差值,如果差值在60秒内,输出"刚刚",如果在60秒外3600秒内,输出"xx分钟前",如果3600秒外, 3600*24秒内,输出"xx小时前"
    NSDate *date = [NSDate date];
    NSTimeInterval timeInterval = [date timeIntervalSinceNow];
    NSInteger temp = 0;
    if (timeInterval < 60) {
        NSLog(@"刚刚");
    } else if ((temp = timeInterval / 60) < 60) {
        NSLog(@"%ld分钟之前", temp);
    } else if ((temp = temp/ 60) < 24) {
        NSLog(@"%ld小时之前", temp);
    }
   
    
//    将字符串@"2016年04月01日 01点20分18秒"转换为NSDate对象。
    NSString *dateStr = @"2016年04月01日 01点20分18秒";
    // 创建一个日期格式对象
    NSDateFormatter *format = [[NSDateFormatter alloc] init];
    // 将该格式对象设置成你想转换为日期的字符串格式
    [format setDateFormat:@"yyyy年MM月dd日 HH点mm分ss秒"];
    NSDate *fromdate=[format dateFromString:dateStr];
    NSTimeZone *fromzone = [NSTimeZone systemTimeZone];
    NSInteger frominterval = [fromzone secondsFromGMTForDate: fromdate];
    NSDate *fromDate = [fromdate  dateByAddingTimeInterval: frominterval];
    NSLog(@"fromdate=%@",fromDate);
//    将1468232420转成日期类型
    NSDate *stampDate = [NSDate dateWithTimeIntervalSince1970:1468232420];
    NSLog(@"%@", stampDate);
    //    研究NSDateComponents
    NSCalendar *greCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *dateComponents = [greCalendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSWeekCalendarUnit | NSWeekdayCalendarUnit | NSWeekOfMonthCalendarUnit | NSWeekOfYearCalendarUnit  fromDate:[NSDate date]];
    NSLog(@"%@", dateComponents);
    
    
    return 0;
}
